/**
 * 请求拦截
 * @param {Object} http
 */
module.exports = (vm) => {
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
			// 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
			config.data = config.data || {}
			// 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
			// console.log(vm.$store.state);
			// 方式一， 存放在vuex的token， 假设使用了uView封装的vuex方式， 见： https: //uviewui.com/components/globalVariable.html
			// 	config.header.token = vm.token;

			// 方式二， 如果没有使用uView封装的vuex方法， 那么需要使用$store.state获取
			// config.header.token = vm.$store.state.token;

			// 方式三， 如果token放在了globalData， 通过getApp().globalData获取
			// config.header.token = getApp().globalData.username;

			// 方式四， 如果token放在了Storage本地存储中， 拦截是每次请求都执行的， 所以哪怕您重新登录修改了Storage， 下一次的请求将会是最新值
			const token = uni.getStorageSync('token');
			if (!!token)
				config.header.token = token;
			return config
		}, (config) => // 可使用async await 做异步操作
		Promise.reject(config))
}